package org.hs.phd.odi.tracking.tracker;

import java.awt.Polygon;
import java.awt.geom.Point2D;

import org.hs.phd.common.improc.traversal.RGBImagePixelProcessor;

import com.googlecode.javacv.cpp.opencv_core.IplImage;

public interface TrackWindow {
	
	void calculateHistogram(IplImage frame, Histogram histogram);

	Polygon getAsPolygon();

	void moveToBestMatchingLocationFor(Polygon initialTrackShape);

	TrackWindow getCopy();

	void moveCenterToPosition(Point2D.Float newPosition);

	Point2D.Float getCenter();

	void traversePixels(IplImage frame, RGBImagePixelProcessor processor);

	double distanceTo(TrackWindow trackWindow);

}
